package com.tomorrowbbs.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 用户信息对象 user_info
 * 
 * @author zjz
 * @date 2024-11-09
 */
public class UserInfo
{
    private static final long serialVersionUID = 1L;

    /** 用户ID */
    private String userId;

    /** 昵称 */
    private String nickName;

    /** 邮箱 */
    private String email;

    /** 密码 */
    private String password;

    /** 0:女 1:男 */
    private Integer sex;

    /** 个人描述 */
    private String personDescription;

    /** 加入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date joinTime;

    /** 最后登录时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastLoginTime;

    /** 最后登录IP */
    private String lastLoginIp;

    /** 最后登录ip地址 */
    private String lastLoginIpAddress;

    /** 积分 */
    private Long totalIntegral;

    /** 当前积分 */
    private Long currentIntegral;

    /** 0:禁用 1:正常 */
    private Integer status;

    public void setUserId(String userId) 
    {
        this.userId = userId;
    }

    public String getUserId() 
    {
        return userId;
    }
    public void setNickName(String nickName) 
    {
        this.nickName = nickName;
    }

    public String getNickName() 
    {
        return nickName;
    }
    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }
    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }
    public void setSex(Integer sex) 
    {
        this.sex = sex;
    }

    public Integer getSex() 
    {
        return sex;
    }
    public void setPersonDescription(String personDescription) 
    {
        this.personDescription = personDescription;
    }

    public String getPersonDescription() 
    {
        return personDescription;
    }
    public void setJoinTime(Date joinTime) 
    {
        this.joinTime = joinTime;
    }

    public Date getJoinTime() 
    {
        return joinTime;
    }
    public void setLastLoginTime(Date lastLoginTime) 
    {
        this.lastLoginTime = lastLoginTime;
    }

    public Date getLastLoginTime() 
    {
        return lastLoginTime;
    }
    public void setLastLoginIp(String lastLoginIp) 
    {
        this.lastLoginIp = lastLoginIp;
    }

    public String getLastLoginIp() 
    {
        return lastLoginIp;
    }
    public void setLastLoginIpAddress(String lastLoginIpAddress) 
    {
        this.lastLoginIpAddress = lastLoginIpAddress;
    }

    public String getLastLoginIpAddress() 
    {
        return lastLoginIpAddress;
    }
    public void setTotalIntegral(Long totalIntegral) 
    {
        this.totalIntegral = totalIntegral;
    }

    public Long getTotalIntegral() 
    {
        return totalIntegral;
    }
    public void setCurrentIntegral(Long currentIntegral) 
    {
        this.currentIntegral = currentIntegral;
    }

    public Long getCurrentIntegral() 
    {
        return currentIntegral;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("nickName", getNickName())
            .append("email", getEmail())
            .append("password", getPassword())
            .append("sex", getSex())
            .append("personDescription", getPersonDescription())
            .append("joinTime", getJoinTime())
            .append("lastLoginTime", getLastLoginTime())
            .append("lastLoginIp", getLastLoginIp())
            .append("lastLoginIpAddress", getLastLoginIpAddress())
            .append("totalIntegral", getTotalIntegral())
            .append("currentIntegral", getCurrentIntegral())
            .append("status", getStatus())
            .toString();
    }
}
